package com.hui.service;

import com.hui.pojo.*;
import com.hui.pojo.vo.ShopcartVO;
import com.hui.utils.PagedGridResult;

import java.util.List;

public interface ItemService {
    /**
     * 根据商品Id 查询详情
     * @param itemId
     * @return
     */
    Items queryItemById(String itemId);

    /**
     * 根据商品ID 查询规格
     * @param itemId
     * @return
     */
    List<ItemsImg> queryItemImgList(String itemId);

    /**
     * 根据商品ID 查询规格
     * @param itemId
     * @return
     */
    List<ItemsSpec> queryItemSpecList(String itemId);

    /**
     * 根据商品id 查询商品参数
     * @param itemId
     * @return
     */
    ItemsParam queryItemParam(String itemId);

    /**
     * 根据商品id 查询商品评价分页
     * @param itemId
     * @param level
     * @return
     */
    PagedGridResult queryPagedComments(String itemId, Integer level, int page, int pageSize);

    /**
     * 根据ID 查询商品评价数量
     * @param itemId
     * @return
     */
    CommentLevelCountsVO queryCommentsCounts(String itemId);

    /**
     * 搜索商品列表
     * @param keywords
     * @param sort
     * @param page
     * @param pageSize
     * @return
     */
    PagedGridResult searchItems(String keywords, String sort, int page, int pageSize);

    /**
     * 根据catId搜索商品列表
     * @param catId
     * @param sort
     * @param page
     * @param pageSize
     * @return
     */
    PagedGridResult searchItems(Integer catId, String sort, int page, int pageSize);

    /**
     * 用于渲染购物车中的商品数据
     * @param specIds
     * @return
     */
    List<ShopcartVO> queryItemsBySpecIds(String specIds);
}
